Object placeholders in electronic documents

ABSTRACT

An electronic book (“eBook”) reader application executing on an electronic device conserves non-volatile, random access memory by reading from non-volatile memory an electronic document page that includes text and at least one non-textual object (e.g., an image), storing the read electronic document page in volatile memory such that the at least one non-textual object is replaced with a placeholder that occupies less memory than the non-textual object (e.g., a blank rectangle having the same dimensions as the image), determining that the electronic document page stored in volatile memory is likely to be displayed imminently, and replacing the placeholder in the stored electronic document page with the non-textual object.

BACKGROUND

This disclosure relates to displaying and facilitating the manipulationof electronic content, for example, the text, images and/or otherobjects that make up an electronic book (“eBook”) or other electronicdocument being read on an electronic device.

Much like an ordinary printed book, electronic books (“eBooks”), or moregenerally, electronic documents, can be used to present text and imagesto users. Instead of ink and paper, however, an electronic book is acollection of digital data that software, known as an electronic bookreader application, can interpret and present on a display of anelectronic device. A variety of electronic devices, such as desktop andnotebook computers, eBook readers, tablet computers, smart phones and/orother mobile devices, are capable of running electronic book readersoftware. One available format for eBooks is defined by the “ePub”standard, which is maintained by The International Digital PublishingForum (IDPF).

SUMMARY

Implementations of the subject matter described here may include variouscombinations of one or more of the following features. For example, anelectronic device having a processor and memory, including both volatilememory and non-volatile memory, can be configured to execute anelectronic document reading application that performs operationsincluding reading from non-volatile memory an electronic document pagethat includes text and at least one non-textual object (e.g., an image),storing the read electronic document page in volatile memory such thatthe at least one non-textual object is replaced with a placeholder thatoccupies less memory than the non-textual object, determining that theelectronic document page stored in volatile memory is likely to bedisplayed imminently, and replacing the placeholder in the storedelectronic document page with the non-textual object.

The placeholder may preserve at least one characteristic of thenon-textual object, for example, an image size that includes a heightdimension and a width dimension. The placeholder may be a blankrectangle that has the same height and width dimensions as the imageobject that it replaces.

Determining that the electronic document page is likely to be displayedimminently may include determining that the stored electronic documentpage is immediately adjacent to an electronic document page that iscurrently being displayed. Alternatively, or in addition, determiningthat the electronic document page is likely to be displayed imminentlycomprises determining that the stored electronic document page isrelated to an electronic document page that is currently being displayed(e.g., the stored electronic document page is referenced by thecurrently displayed page).

Replacing the placeholder in the stored electronic document with thenon-textual object may include retrieving the non-textual object fromnon-volatile memory and inserting the retrieved non-textual object inplace of the placeholder. The placeholder may be one or more orders ofmagnitude smaller than the non-textual object.

Moreover, an electronic device having a processor and memory, includingboth volatile memory and non-volatile memory, can be configured toexecute an electronic document reading application that performsoperations including storing in volatile memory an electronic documentpage that includes text and at least one non-textual object (e.g., animage), determining that display of the electronic document page storedin volatile memory is unlikely to be imminent, and replacing the atleast one non-textual object with a placeholder that occupies lessmemory than the non-textual object but which preserves at least onecharacteristic of the non-textual object (e.g., a blank rectangle thathas the same dimensions as the image it replaces).

Determining that display of the electronic document page is unlikely tobe imminent comprises determining that the stored electronic documentpage is two or more pages away from an electronic document page that iscurrently being displayed. Alternatively, or in addition, determiningthat display of the electronic document page is unlikely to be imminentcomprises determining that the stored electronic document page isunrelated to an electronic document page that is currently beingdisplayed.

The subject matter described herein can be implemented, among otherways, as a method, a system or other apparatus, an article bearingmachine readable instructions or any combination thereof. Details of oneor more implementations are set forth in the accompanying drawings andthe description below. Other features, aspects and advantages will beapparent from the description and drawings, and from the claims.

DRAWING DESCRIPTIONS

FIG. 1 illustrates examples of different types of electronic devicesthat can be configured to access, via a network, items of digital mediaresiding on a computer system controlled by a content provider.

FIG. 2 is a diagram illustrating how images or other objects in anelectronic document can be dynamically swapped in and out withplaceholders depending on which page a user is currently viewing.

FIGS. 3A and 3B are flowcharts of exemplary processes for insertingobject placeholders and dynamically replacing them with the actualobjects to which they correspond, and vice versa.

FIG. 4 is a block diagram of an electronic device that can be used foreBook applications.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

As shown in FIG. 1, any of several different types of electronic devices(e.g., notebook computer 105, a tablet computer or eBook reader 115,smart phone 120) may be configured to access, via a network 100, itemsof digital media (e.g., eBooks, movies, songs or the like) residing on acomputer system controlled by a content provider 105 (e.g., an onlineweb site that sells eBooks and/or other types of digital media). A userof such an electronic device can view, purchase and download eBooks—orother electronic documents—from the content provider 105 and then use aneBook Reader software application residing on the electronic device toread or otherwise peruse the purchased eBook.

While essentially all eBooks and other electronic documents includereadable text in a particular language (e.g., English), many eBooks alsoinclude objects other than text including visual objects, such as moviesor images, but potentially also other types of objects such as sounds orapplets, the latter of which can provide essentially any functionalityimplementable on an electronic device.

In general the most common non-textual objects that appear on eBookpages are still images, for example, digitized photographs, drawings,paintings, or other graphics such as pie charts and other diagrams. Suchimages, which typically are encoded in one of the standard image formatssuch as JPEG, GIF, TIF, PNG and the like, are embedded by the eBookauthor or publisher among an eBook's textual portions, much in the samemanner that images appear in paper and ink books. As such, an image onan eBook page typically comprises a substantial, or at leastnon-trivial, portion of the eBook page on which it appears and thus mustbe taken into account by an eBook reader application when paginating abook for subsequent rendering on the display of the device on which theeBook reader application is executing.

FIG. 2 illustrates a technique that may be used for displayingimage-bearing eBook pages on an electronic device 200 executing an eBookreader application. As shown therein, the eBook reader is currentlydisplaying a single eBook page 202, which includes both text and animage 201. While being displayed, the contents of the eBook page 202 arestored in RAM (Random Access Memory), specifically an onscreen portion203 of RAM. Similarly, content (e.g., text and images) corresponding tonon-displayed eBook pages—such as pages 206, 208, 210 and 212 in FIG.2—also are stored in RAM albeit in offscreen portions 204 of RAM.Depending on the overall size of the eBook in question, and the memorycapacity of the electronic device on which the eBook reader isexecuting, typically at least a portion, and perhaps a majority, of aneBook's content will remain stored only in non-volatile memory (e.g., ahard drive or FLASH memory) on the electronic device while the eBook isbeing read.

Because access times for non-volatile memory tend to be significantlyslower than access times for RAM, an eBook reader application typicallystores one or more eBook pages adjacent to the currently displayed eBookpage in RAM so that when the user flips to the next page (or back apage), the eBook reader is able to display the next or previous pagewithout appreciable delay from the user's perspective. But becauseelectronic devices—especially mobile electronic devices such as smartphones, table computers and dedicated eBook reader devices—necessarilyhave a finite and limited amount of RAM, and because an eBook readerapplication typically must share that limited amount of RAM with otherprocesses executing on the electronic device, it tends to be beneficialfor an eBook reader application to conserve RAM whenever feasible, atleast to the extent that such conservation does not unduly interferewith functionality or the user experience.

As illustrated in FIG. 2, one way an eBook reader application canconserve—and thus wisely use—limited RAM is to selectively replace theeBook's relatively large-sized content objects (e.g., images) residingon offscreen eBook pages with placeholders that are significantlysmaller, and thus occupy significantly less RAM, than the imagesthemselves. As shown in FIG. 2, the currently displayed eBook page 202includes and displays its image 201 so it can be seen by the user, as dothe two offscreen pages 208 and 210 immediately adjacent to thecurrently displayed page 202. However, offscreen pages more than onepage away from the currently displayed page 202—that is, pages 206 and212 in the example shown—have their respective images 207, 216 and 218temporarily replaced with placeholders, e.g., blank rectangles, whileresiding in offscreen RAM 204. As a result, each image in offscreen RAM204 that is temporarily replaced with a placeholder represents asignificant savings in RAM space. For example, a typical image caneasily be 2 Megabytes (MB) or larger whereas a placeholder such as ablank rectangle typically occupies only about 20 bytes, meaning that thespace saving is on the order of several orders of magnitude.

As noted above, replacement of images with placeholders is onlytemporary—the actual images must be swapped back in for the placeholdersbefore the eBook page or pages containing the images are displayed tothe user. Accordingly, in the example shown in FIG. 2, assume that theuser has finished reading eBook page 202 and performs an appropriateaction (e.g., on a touch-screen capable device, swiping his or herfinger across the screen) to cause the eBook reader to transition to thenext page. Assuming the reader in this example signals a desire to moveforward in the eBook to the adjacent page 210, the eBook reader wouldrespond by updating the display to show page 210, including both itstext and image 205. In conjunction with that transition, the eBookreader also would swap out the placeholder 207 on page 212 and insertthe actual image corresponding to placeholder 207 (typically by readingthe image from non-volatile memory, decrypting or decoding it ifnecessary, and overwriting the portion of offscreen RAM corresponding toplaceholder 207). In that manner, eBook page 212, which is nowimmediately adjacent to the currently displayed page 210, is completeand ready for quick display should the user once again move forward onepage in the eBook.

In addition, as a result of the current page change from 202 to 210,offscreen page 208 is now more than one page away from the currentlydisplayed page 210. Consequently, in order to conserve RAM, image 214appearing on offscreen page 208 is replaced with a placeholder, forexample, a blank rectangle having the same dimensions as image 214.

Although the exemplary implementation illustrated in FIG. 2 swaps outimages for blank rectangles for all pages in offscreen RAM that are morethan one page away from the currently displayed page, alternatively aneBook reader implementation could use essentially any other threshold(i.e., any other number of pages away from currently displayed page) forperforming such swapping, for example, either zero (i.e., all images inoffscreen RAM are replaced with placeholders) or three or more pagesaway, meaning that two pages on either side of the currently displayedpage have their respective images (and text) loaded in offscreen RAM. Anadvantage of having at least one page on either side of the currentlydisplayed page complete with images in offscreen RAM (as in the exampledescribed above) is that it helps avoid visual blips, interruptions orother disconcerting visual effects that could occur if images were to beswapped in for placeholders concurrently with displaying the page onwhich the images appear. In this manner, ensuring that an immediatelyadjacent offscreen eBook page has it image or images swapped in forplaceholders as soon as that page transitions into the immediatelyadjacent position (or in the parlance of baseball, the “on-deck”position) acts as a caching function that ensures smooth operation and arobust and positive user experience.

The swapping of images for placeholders, and vice versa, can be thoughtof as occurring dynamically, or on-the-fly, as a real time response to auser's interaction with an eBook. As a result, unnecessaryimage-placeholder swapping—that is, other than in response to userinput—is minimized while the responsiveness and user-friendliness of theeBook reader application is enhanced.

As noted above, one type of image placeholder is a blank rectangle thathas the same dimensions as the image it replaces. In addition to the RAMspace saving advantage that such a placeholder provides, the fact thatthe blank rectangle has the same dimensions as its corresponding imagesprovides another advantage, namely, it preserves pagination of theeBook. Otherwise, if the placeholder had other than the same dimensionsas the image, whenever the image was to be swapped back in for theplaceholder, the eBook reader application would have to repaginate theeBook, a process that tends to be time consuming and computationallyintensive, and thus undesirable to have to be performed frequently orunnecessarily.

Some electronic devices that support eBook reader applications, such asthe iPad® from Apple, Inc., are rotatable between a portrait orientationand a landscape orientation. Typically, when an electronic device is ina portrait orientation, an eBook reader application executing on thatdevice displays a single eBook page at a time, such as shown in FIG. 2.In contrast, when the electronic device is in a landscape orientation,an eBook reader application executing on that device typically displaystwo side-by-side eBook pages at a time (not shown). In the latter case,the eBook reader application could be implemented to have the twoadjacent pages on either side of the currently displayed page be loadedin offscreen RAM with their respective actual images so that when theuser signals a page flip (which, in the landscape side-by-side pagesdisplay will cause both displayed pages to change) all of the images tobe displayed post-page-flip will be ready for immediate display, therebyavoiding the above-noted visual disturbance that might otherwise occurif the images had to be read from non-volatile memory and loaded intoonscreen RAM for display along with that page's text.

Implementations other than those described above may be used dependingon design choices and preferences. For example, although the aboveexamples were made with reference to swapping in/out images, a memoryspace and/or performance win may be realized by performing theplaceholder swapping technique describe herein with eBook pagesembedding essentially any other object of relatively large size. Inaddition, although the image/placeholder swapping examples describedabove are triggered based on proximity of adjacent offscreen pages,other swapping criteria (or equivalently, caching criteria) could beused beneficially depending, for example, on the type of electronicdocument being view and/or on the user's current location in theelectronic document. For example, if a user was perusing the index (ortable of contents) of an eBook, it might prove beneficial for the eBookreader application to load into offscreen RAM some or all of the eBookpages, along with their respective images, referenced on the index pagecurrently being viewed, even though the pages to be cached were notnecessarily adjacent, or perhaps even close, to the index page currentlybeing viewed.

FIG. 3A is a flowchart of an exemplary process 300 that can be used byan eBook reader application for inserting object placeholders anddynamically replacing them with the actual objects (e.g., images) towhich they correspond. As shown therein, at 302, the eBook readerapplication reads a page of an electronic document from non-volatilememory. In this example, the read page includes text and one or morenon-textual object, for example, an image. At 304, the eBook readerapplication stores the read electronic document page in volatile memorysuch that the at least one non-textual object is replaced temporarilywith a placeholder (e.g., a blank rectangle) that occupies less memory(e.g., has a lesser number of bytes) than the non-textual object,thereby conserving RAM. At 306, the eBook reader application determinesthat the electronic document page stored in volatile memory is likely tobe displayed imminently (e.g., the stored electronic document page hasnewly become immediately adjacent to the currently displayed page). At308, the eBook reader application replaces the placeholder in theelectronic document page with its corresponding non-textual object.

FIG. 3B is a flowchart of an exemplary process 320 that can be used byan eBook reader application to conserve RAM by replacing a non-textualobject (e.g., an image) embedded in an eBook page with a placeholder,for example, a blank rectangle having the same dimensions as the image.At 324, the eBook reader application stores an electronic document pagein volatile memory. In this example, the electronic document page inquestion includes text and at least one non-textual object (e.g., animage). At 326, the eBook reader application determines that display ofthe electronic document page stored in volatile memory is unlikely to beimminent (e.g., the page under consideration is two or more pages awayfrom the currently displayed page). At 328, the eBook reader applicationreplaces the at least one non-textual object (e.g., the image) with aplaceholder (e.g., a blank rectangle having the same dimensions as theimage) that occupies less memory than the non-textual object.

FIG. 4 depicts an exemplary block diagram of an electronic client device400 that can be used to for eBook applications. The client device 400includes a processor 405 configured to control the operation of theclient device 400. For example, the processor 405 can controlcommunications with one or more media servers to receive eBooks or othermedia for presentation on the client device 400. A media server can beany general purpose server that provides access to media content. Themedia can be received through push and/or pull operations, includingthrough downloading and streaming. The processor 405 also can beconfigured to generate output signals for presentation, such as one ormore streams representing media content or an interface for interactingwith a user.

The client device 400 also includes a storage device 410 that can beconfigured to store information including media, configuration data,user preferences, and operating instructions. The storage device 410 canbe any type of non-volatile storage, including a hard disk device or asolid-state drive. For example, media received from an external mediaserver can be stored on the storage device 410. The received media thuscan be locally accessed and processed. Further, configurationinformation, such as the resolution of a coupled display device orinformation identifying an associated media server, can be stored on thestorage device 410. Additionally, the storage device 410 can include oneor more sets of operating instructions that can be executed by theprocessor 405 to control operation of the client device 400. In animplementation, the storage device 410 further can be divided into aplurality of partitions, wherein each partition can be utilized to storeone or more types of information. Additionally, each partition can haveone or more access control provisions.

A communication bus 415 couples the processor 405 to the othercomponents and interfaces included in the client device 400. Thecommunication bus 415 can be configured to permit unidirectional and/orbidirectional communication between the components and interfaces. Forexample, the processor 405 can retrieve information from and transmitinformation to the storage device 410 over the communication bus 415. Inan implementation, the communication bus 415 can be comprised of aplurality of busses, each of which couples at least one component orinterface of the client device 400 with another component or interface.

The client device 400 may also include a plurality of input and outputinterfaces for communicating with other devices, including media serversand presentation devices. A wired network interface 420 and/or awireless network interface 425 each can be configured to permit theclient device 400 to transmit and receive information over a network,such as a local area network (LAN) or the Internet, thereby enablingeither wired and/or wireless connectivity and data transfer.Additionally, an input interface 430 can be configured to receive inputfrom another device through a direct connection, such as a USB, eSATA oran IEEE 1394 connection.

Further, an output interface 435 can be configured to couple the clientdevice 400 to one or more external devices, including a television, amonitor, an audio receiver, and one or more speakers. For example, theoutput interface 435 can include one or more of an optical audiointerface, an RCA connector interface, a component video interface, anda High-Definition Multimedia Interface (HDMI). The output interface 435also can be configured to provide one signal, such as an audio stream,to a first device and another signal, such as a video stream, to asecond device. Further, a non-volatile memory 440, such as a read-onlymemory (ROM) also can be included in the client device 400. Thenon-volatile memory 440 can be used to store configuration data,additional instructions, such as one or more operating instructions, andvalues, such as one or more flags and counters. In an implementation, arandom access memory (RAM) also can be included in the client device400. The RAM can be used to store media content received in the clientdevice 400, such as during playback or while the user has pausedplayback. Further, media content can be stored in the RAM whether or notthe media content is stored on the storage device 410.

Additionally, the client device 400 can include a remote controlinterface 445 that can be configured to receive commands from one ormore remote control devices (not pictured). The remote control interface445 can receive the commands through wireless signals, such as infraredand radio frequency signals. The received commands can be utilized, suchas by the processor 405, to control media playback or to configure theclient device 400. In an implementation, the client device 400 can beconfigured to receive commands from a user through a touch screeninterface. The client device 400 also can be configured to receivecommands through one or more other input devices, including a keyboard,a keypad, a touch pad, a voice command system, and a mouse.

In implementation, the computing device can be a portable communicationsdevice such as a mobile telephone that also contains other functions,such as PDA and/or music player functions. Exemplary embodiments ofportable multifunction devices include, without limitation, the iPad®,iPhone® and iPod Touch® devices from Apple, Inc. of Cupertino, Calif.Other portable devices such as laptops or tablet computers withtouch-sensitive surfaces (e.g., touch screen displays and/or touch pads)may also be used. In some implementations, the device is not necessarilya portable communications device, but rather can be a desktop computer,for example, with or without a touch-sensitive surface (e.g., a touchscreen display and/or a touch pad). The computing device may include adisplay and a touch-sensitive surface and/or may include one or moreother physical user-interface devices, such as a physical keyboard, amouse and/or a joystick.

The device can be capable of supporting a variety of applications, suchas one or more of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the device maybe adjusted and/or varied from one application to the next and/or withina respective application. In this way, a common physical architecture(such as the touch-sensitive surface) of the device may support thevariety of applications with user interfaces that are intuitive andtransparent.

Device 400 as represented in FIG. 4 is only an example and that devicemay have more or fewer components than shown, may combine two or morecomponents, or a may have a different configuration or arrangement ofthe components. The various components shown in FIG. 4 may beimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/or applicationspecific integrated circuits.

What is claimed is:
 1. A method performed by an electronic device, themethod comprising: displaying, on the electronic device, a fullyrendered first section of an electronic document, wherein the electronicdevice includes volatile memory, non-volatile memory, and an electronicdocument reading application, the electronic document includes text andone or more existing non-textual objects, and the electronic document ispaginated into sections for display on the electronic device accordingto display attributes of the text and the one or more non-textualobjects; reading, from the non-volatile memory of the electronic device,text from a second section of the electronic document, the secondsection including text and an existing non-textual object; storing, inthe volatile memory of the electronic device, the text of the secondsection of the electronic document and a placeholder for the non-textualobject, the placeholder occupying less memory than the non-textualobject, wherein the placeholder is configured to preserve the paginationinto sections of the electronic document; determining the second sectionstored in volatile memory on the electronic device is a likely nextsection to be displayed imminently on the electronic device; replacingthe placeholder in the volatile memory of the electronic device with thenon-textual object from non-volatile memory of the electronic device inresponse to determining that the second section is the likely nextsection to be displayed imminently; and displaying, on the electronicdevice, the second section, fully rendered, independent of a timeinterval between displaying the first section and displaying the secondsection.
 2. The method of claim 1 in which the placeholder preserves atleast one characteristic of the non-textual object.
 3. The method ofclaim 1 further comprising: determining that the second section is nolonger likely to be displayed imminently; and replacing the non-textualobject with the placeholder in the volatile memory as a result ofdetermining the second section is no longer likely to be displayed,thereby conserving volatile memory of the electronic device.
 4. Themethod of claim 1 in which the non-textual object comprises an imagehaving a height dimension and a width dimension and the placeholdercomprises a blank rectangle having the same height and width dimensionsas the image, thereby preserving the pagination into sections of theelectronic document.
 5. The method of claim 1 in which determining thesecond section is the likely next section to be displayed imminentlycomprises determining the second section is immediately adjacent to thefirst section that is currently being displayed.
 6. The method of claim1 in which the non-textual object is an image, and dimensions of theplaceholder are substantially identical to dimensions of the image thatcorresponds to the placeholder, and in which pagination of theelectronic document is determined using the dimensions of the image,thereby preserving pagination of the document independent of theplaceholder.
 7. The method of claim 1 in which determining the secondsection is the likely next section to be displayed imminently comprisesdetermining the second section is determined to be related to the firstsection currently displayed when the second section is referenced by thefirst section currently displayed.
 8. The method of claim 1 in whichreplacing the placeholder in the second section with the non-textualobject comprising retrieving the non-textual object from non-volatilememory and inserting the retrieved non-textual object in place of theplaceholder.
 9. The method of claim 1 in which the placeholder is one ormore orders of magnitude smaller than the non-textual object.
 10. Amethod performed by an electronic device, the method comprising:displaying, on the electronic device, a fully rendered first section ofan electronic document, wherein the electronic device includes volatilememory, non-volatile memory, and an electronic document readingapplication, the electronic document includes text and at least onenon-textual object, and the electronic document is paginated intosections for display on the electronic device according to displayattributes of the text and the at least one non-textual object; storingin volatile memory of the electronic device a second section of theelectronic document that includes text and at least one existingnon-textual object; determining, by the document reading application,that display of the second section of the electronic document stored involatile memory on the electronic device is unlikely to be imminent; andreplacing, in volatile memory of the electronic device, the at least onenon-textual object with a placeholder that occupies less volatile memorythan the non-textual object in response to determining that the secondsection is unlikely to be displayed imminently, wherein the placeholderis configured to preserve the pagination into sections for display ofthe electronic document; and displaying, on the electronic device, thesecond section, fully rendered, independent of a time interval betweendisplaying the first section and displaying the second section.
 11. Themethod of claim 10 in which the placeholder preserves at least onecharacteristic of the non-textual object.
 12. The method of claim 11 inwhich the non-textual object comprises an image and the preserved atleast one characteristic comprises image dimensions.
 13. The method ofclaim 10 in which the non-textual object comprises an image having aheight dimension and a width dimension and the placeholder comprises ablank rectangle having the same height and width dimensions as theimage, thereby preserving the pagination into sections for display ofthe electronic document.
 14. The method of claim 10 in which determiningthat display of the second section of the electronic document isunlikely to be imminent comprises determining that the second section ofthe electronic document is two or more sections away from the firstsection currently being displayed.
 15. The method of claim 10 in whichdetermining that display of the second section of the electronicdocument is unlikely to be imminent comprises determining that thesecond section of the electronic document is unrelated to the firstsection currently being displayed.
 16. The method of claim 10 in whichthe placeholder is one or more orders of magnitude smaller than thenon-textual object, thereby conserving the volatile memory of theelectronic device.
 17. A system comprising: an electronic devicecomprising a processor, a display, and memory, including volatile memoryand non-volatile memory, wherein the memory holds instructions that whenexecuted by the processor perform operations including: display on theelectronic device, a fully rendered first section of an electronicdocument, wherein the electronic document is paginated into sections fordisplay on the electronic device according to display attributes of thetext and the one or more non-textual objects; read from the non-volatilememory of the electronic device text from a second section of theelectronic document, the second section includes text and an existingnon-textual object; store, in the volatile memory of the electronicdevice, the text of the second section of the electronic document and aplaceholder for the non-textual object into volatile memory, theplaceholder occupying less memory than the non-textual object; determinethat the second section stored in volatile memory is a likely nextsection to be displayed imminently; replace, in the volatile memory, theplaceholder with the non-textual object in response to determining thatthe second section is the likely next section to be displayedimminently, wherein the placeholder is configured to preserve thepagination into sections for display of the electronic document; anddisplay, on the electronic device, the second section, fully rendered,independent of a time interval between displaying the first section anddisplaying the second section.
 18. The system of claim 17 in which theplaceholder preserves at least one characteristic of the non-textualobject.
 19. The system of claim 18 in which the non-textual imagecomprises an image and the preserved at least one characteristiccomprises image dimensions.
 20. The system of claim 17 which thenon-textual object comprises an image having a height dimension and awidth dimension and the placeholder comprises a blank rectangle havingthe same height and width dimension and the placeholder comprises ablank rectangle having the same height and width dimensions as theimage, thereby preserving the pagination into sections of for display ofthe electronic document.
 21. The system of claim 17 in which theinstructions to determine the second section is the likely next sectionto be displayed imminently comprise instructions to determine that thesecond section is immediately adjacent to the first section currentlybeing displayed.
 22. The system of claim 17 in which the instructions todetermine the second section is the likely next section to be displayedimminently comprising instructions to determine that the second sectionis related to the first section currently being displayed.
 23. Thesystem of claim 22 in which the second section is determined to berelated to the currently displayed first section when the second sectionis referenced by the currently displayed first section.
 24. The systemof claim 17 in which the instructions to replace the placeholder withthe non-textual object comprise instructions to retrieve the non-textualobject from non-volatile memory in place of the placeholder.
 25. Thesystem of claim 17 in which the placeholder is one or more orders ofmagnitude smaller than the non-textual object, thereby conservingvolatile memory of the electronic device.
 26. The system of claim 17further comprising instructions to determine that display of thirdsection of the electronic document stored in volatile memory is unlikelyto be imminent, the third section of the electronic document includingtext and at least one other non-textual object; and instructions toreplace the at least one other non-textual object with a placeholderthat occupies less memory than the other non-textual object, therebyconserving volatile memory of the electronic device.
 27. The system ofclaim 26 in which the instructions to determine that the display of thethird section of the electronic document is unlikely to be imminentcomprise instructions to determine that the third section of theelectronic document is two or more sections away from the first sectionof the electronic document currently being displayed.
 28. Anon-transitory machine-readable article bearing instructions that whenexecuted by a processor of an electronic device, perform operationscomprising: display, on the electronic device a fully rendered firstsection of an electronic document, wherein the electronic deviceincludes volatile memory, non-volatile memory, and an electronicdocument reading application, the electronic document includes text andone or more non-textual objects, and the electronic document ispaginated into sections for display on the electronic device accordingto display attributes of the text and the one or more non-textualobjects; read, from the non-volatile memory of the electronic device,text from a second section of the electronic document, the secondsection includes text and an existing non-textual object; store, intovolatile memory of the electronic device, the text from the secondsection of the electronic document and a placeholder for the non-textualobject, the placeholder occupying less memory than the non-textualobject, wherein the placeholder is configured to preserve the paginationinto sections of the electronic document; determine the second sectionstored in volatile memory of the electronic device is a likely nextsection to be displayed imminently on the electronic device; replace theplaceholder in the volatile memory of the electronic device with thenon-textual object from non-volatile memory of the electronic device inresponse to determining that the second section is the likely nextsection to be displayed imminently; display, on the electronic device,the second section, fully rendered, independent of a time intervalbetween displaying the first section and displaying the second section.29. The article of claim 28 in which the placeholder preserves at leastone character of the non-textual object.
 30. The article of claim 29 inwhich the non-textual object comprises an image and the preserved atleast one characteristic comprises image dimensions.
 31. The article ofclaim 28 in which the non-textual object comprises an image having aheight dimension and width dimension and the placeholder comprises ablank rectangle having the same height and width dimensions as theimage, thereby preserving the pagination into sections of the electronicdocument.
 32. The article of claim 28 in which the instructions todetermine the second section is the likely next section to be displayedimminently comprise instructions to determine that the second section isimmediately adjacent to the first section currently being displayed. 33.The article of claim 29 in which the instructions to determine thesecond section is the likely next section to be displayed imminentlycomprise instructions to determine that the second section is related tothe first section currently being displayed.
 34. The article of claim 33in which the second section is determined to be related to the currentlydisplayed first section when the second section is referenced by thecurrently displayed first section.
 35. The article of claim 28 in whichthe instructions to replace the placeholder with the non-textual objectcomprise instructions to retrieve the non-textual object fromnon-volatile memory and to insert the retrieved non-textual object inplace of the placeholder.
 36. The article of claim 28 in which theplaceholder is one or more order of magnitude smaller than thenon-textual object, thereby conserving volatile memory of the electronicdevice.
 37. The article of claim 28 further comprising instructions todetermine that display of third section of the electronic documentstored in volatile memory is unlikely to be imminent, the third sectionof the electronic document including text and at least one othernon-textual object; and replace, in volatile memory, the at least oneother non-textual object with a placeholder that occupies less volatilememory than the other non-textual object, thereby conserving volatilememory.
 38. The article of claim 37 in which the instructions todetermine that the display of the third section of the electronicdocument is unlikely to be imminent comprise instructions to determinethat the third section of the electronic document is two or moresections away from the first section of the electronic documentcurrently being displayed.
 39. The article of claim 28, whereindetermining that the second section stored in volatile memory of theelectronic device is a likely next section to be displayed imminently onthe electronic device comprises determining that the second section isadjacent to the first section.
 40. The article of claim 39 furthercomprising instructions to determine that display of third section ofthe electronic document stored in volatile memory is not adjacent to thefirst section, the third section of the electronic document includingtext and at least one other non-textual object; and replace the at leastone other non-textual object with a placeholder that occupies lessmemory than the other non-textual object.
 41. The article of claim 28,wherein: the electronic device comprises an electronic book reader, theelectronic document comprises and electronic book, the first sectioncomprises a first fully rendered page of an electronic book, and thesecond section comprises a second page stored in the electronic bookreader's volatile memory.
 42. The article of claim 41, wherein thesecond page is an off-screen electronic book page immediately adjacentto the first page.
 43. A non-transitory machine-readable article bearinginstructions that when executed by a processor of an electronic bookreader, perform operations to: display, on the electronic device, afully rendered first section of an electronic document, wherein theelectronic device includes volatile memory and non-volatile memory, theelectronic document includes text and one or more non-textual objects,and the electronic document is paginated into sections for display onthe electronic device according to display attributes of the text andthe one or more non-textual objects; store in volatile memory of theelectronic device a second section of the electronic document thatincludes text and at least one existing non-textual object; determinethat display of the second section of the electronic document stored involatile memory on the electronic device is unlikely to be imminent; andreplace, in volatile memory of the electronic device, the at least onenon-textual object with a placeholder that occupies less volatile memorythan the non-textual object in response to determining that the secondsection is unlikely to be displayed imminently, wherein the placeholderis configured to preserve the pagination into sections for display ofthe electronic document.
 44. An electronic device comprising: a volatilememory; a display; and a processing system programmed with executableinstructions that, when executed, performs a machine implemented methodcomprising: displaying a fully rendered first page of an electronicdocument on the display, wherein the electronic document comprises textand one or more existing non-textual objects each comprising a displayimage, and the electronic document is paginated based at least in parton display dimensions of the display image of each of the non-textualobjects; reading, from a non-volatile memory, text of a second page ofthe electronic document, wherein the second page comprises text and anon-textual object; storing the text of the second page and aplaceholder for the non-textual object into the volatile memory, whereinthe placeholder occupies less volatile memory than the non-textualobject, and wherein the placeholder comprises a rectangle having thedisplay dimensions of the display image of the non-textual object,thereby preserving the pagination of the electronic document;determining that the second page is likely the next page to bedisplayed; reading, from the non-volatile memory, the non-textual objectincluding the display image for the non-textual object; replacing theplaceholder in the volatile memory with the non-textual object includingthe display image; displaying the second page, fully rendered,independent of a time interval between the display of the first page andthe request for display of the second page.
 45. The system of claim 44,wherein the non-textual object comprises one of a movie, a sound, or anapplet.
 46. The system of claim 44, wherein determining that the secondpage is likely the next page to be displayed comprises one of:determining that display of the second page has been requested, ordetermining that the second page is a page in the electronic documentthat is immediately preceding or following the displayed first page.